package org.springblade.modules.admin.enums;


import lombok.Getter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @Date 10:42 2021/8/25
 * @Description {
 *   电梯检查消息类型
 * }
 * @Author lsay
 **/
@Getter
public enum ElevatorUseTypeEnum {

	PASSENGER_ELE(1,"乘客电梯"),
	CARRY_CARGO_ELE(2,"载货电梯"),
	SIGHTSEEING_ELE(3,"观光电梯"),
	CAR_ELE(4,"车辆电梯"),
	MEDICAL_ELE(5,"医用电梯"),
	SUNDRIES_ELE(6,"杂物电梯")
	;

	ElevatorUseTypeEnum(Integer code, String name) {
		this.code = code;
		this.name = name;
	}

	private Integer code;
	private String name;

	/**
	 * 根据code获取枚举name值
	 * @param code 枚举code
	 * @return name值
	 */
	public static String getName(Integer code){
		ElevatorUseTypeEnum[] values = ElevatorUseTypeEnum.values();
		for(ElevatorUseTypeEnum elevatorAuditEnum :values){
			Integer enumId = elevatorAuditEnum.getCode();
			if(code.equals(enumId)){
				return elevatorAuditEnum.getName();
			}
		}
		return null;
	}

	/**
	 * 根据name获取枚举code值
	 * @param name 枚举name
	 * @return name值
	 */
	public static Integer getCode(String name){
		ElevatorUseTypeEnum[] values = ElevatorUseTypeEnum.values();
		for(ElevatorUseTypeEnum elevatorUseTypeEnum :values){
			String enumName = elevatorUseTypeEnum.getName();
			if(name.equals(enumName)){
				return elevatorUseTypeEnum.getCode();
			}
		}
		return null;
	}

	/**
	 * 将枚举值转化成list集合
	 *
	 * @return
	 */
	public static List<HashMap<String,Object>> toList(){
		List<HashMap<String,Object>> list = new ArrayList<>(6);
		for (ElevatorUseTypeEnum elevatorUseTypeEnum: ElevatorUseTypeEnum.values()) {
			HashMap<String,Object> enumMap = new HashMap<>(2);
			enumMap.put("code",elevatorUseTypeEnum.getCode());
			enumMap.put("name",elevatorUseTypeEnum.getName());
			list.add(enumMap);
		}
		return list;
	}

}
